1. Field of the Invention
The present invention relates generally to user interfaces for managing objects, and more particularly to a user interface that includes a common on-screen area, or zone, for both menu activation and stroke input.
2. Description of the Background Art
Existing user interfaces provide many different techniques for moving, altering, controlling, and otherwise manipulating on-screen objects such as windows, images, text blocks, video, and the like. For example, the Windows XP operating system, available from Microsoft Corporation of Redmond, Wash., provides user interface elements for manipulating various types of ington, provides user interface elements for manipulating various types of onscreen objects. Examples of such user interface elements include:
application menus (e.g., click on an object to select it, and select an operation from an application menu);
on-screen buttons (e.g., click on an object to select it, and click a button to perform an operation on the object);
context-sensitive menus (e.g., right-click on an object and select an operation from a pop-up menu);
resize borders or handles (e.g., click-drag a window edge or object handle to resize the window or object); and
keyboard commands (e.g., click on an object to select it (or use a keyboard to navigate to an on-screen object), and hit a keystroke to perform an operation on the object).
In addition, some user interfaces (such as the Palm Operating System, available from Palm, Inc.), can accept pen input, such as strokes or gestures, to be interpreted as data and/or commands.
Many elements of conventional user interfaces, including menus, buttons, icons, and pen input zones, operate by receiving user input at particular areas, or zones, of the screen. These types of user interface elements are presented at distinct locations on the screen that are often dedicated to a particular type of input. Thus, to activate a menu the user must click on a menu bar at a particular location on the screen; to activate a button command, the user must click on the button at another location; and to enter stroke or gesture input, the user must provide the input within a pen input zone.
Typically, each of these elements or zones occupies its own space on the screen. Such an approach consumes valuable screen real estate. Furthermore, such an approach can be confusing to users who must become familiar with each of the various input zones and how they are used. In addition, such an approach makes it difficult to establish a visual link between various ways to activate a particular command. For example, a print command can be activated from a menu, or button, or by inputting a stroke command—but there is no visual link between the disparate areas of the screen where each such command input means is located. Furthermore, existing techniques make it difficult to establish a relationship between a particular zone or zones and a particular onscreen object. Thus, an object that currently has focus for purposes of text input, button commands, or menu commands, is not visually linked to or proximate to the zones for these various types of input. The multiplicity of screen regions for activating menus, buttons, and stroke commands makes it difficult to connect, visually, a particular command input zone with the object to which the command will apply.
What is needed, therefore, is a user interface that includes a common zone, or region, for activating commands using two or more input methods or paradigms. What is needed, therefore, is a user interface that includes a common zone for activating a particular command via two or more input methods. What is further needed is a user interface that includes two or more zones, each zone for activating a particular type of command, each zone capable of accepting input via two or more methods for activating commands within the type. What is further needed is a user interface that reduces the amount of screen real estate needed for providing multiple mechanisms for activating commands, and that preserves the ability to relate command input regions to the objects on which the commands will operate. What is further needed is a user interface that accomplishes the above-stated goals in an easy-to-use, intuitive manner.